package com.dc.designPattern._10_flyweight.impl;

import com.google.common.collect.Maps;

import java.util.Map;

/**
 * Description: 享元工厂,网站工厂
 * @author: gdc
 * @date: 2021/4/11
 * @version 1.0
 */
public class WebSiteFactory {

    /**
     * 网站集合，充当池的作用
     */
    private Map<String, WebSite> pool = Maps.newHashMap();

    /**
     * 获取网站信息
     * @param type              网站类型
     * @return                  具体网站
     */
    public WebSite getWebSite(String type) {
        if (!pool.containsKey(type)) {
            pool.put(type, new ConcreteWebSite(type));
        }
        return pool.get(type);
    }

    /**
     * 获取网站分类的总数（池中有多少个网站分类）
     * @return              数量
     */
    public int getWebSiteCount(){
        return pool.size();
    }
}
